package studentinformationmanagementsystem.dao;

import studentinformationmanagementsystem.entity.TakeACourse;

import java.util.List;

/**
 * @author 苗庆
 * @version 1.0
 */
public interface TakeACourseDao {

    
    /**
     * 对选课信息进行添加
     * @param takeACourse  选课对象
     * @return  受影响的记录行数
     */
    int insert(TakeACourse takeACourse);


    /**
     *  根据ID更新选课信息
     * @param takeACourse  选课对象
     * @return 受影响的记录行数
     */
    int update(TakeACourse takeACourse);


    /**
     *  根据ID删除选课
     * @param takeACourse 选课ID
     * @return 受影响的记录行数
     */
    int delete(TakeACourse takeACourse);


    /**
     * 查询所有选课信息
     * @return 所有选课信息
     */
    List<TakeACourse> queryAll();

    /**
     * 根据选课ID查询选课信息
     * @param takeACourse 选课ID
     * @return 选课信息
     */

    TakeACourse queryById(TakeACourse takeACourse);

    /**
     * 根据学生表id查询选课信息
     * @param takeACourse 学生表id
     * @return 选课信息
     */
    TakeACourse queryBystudid(TakeACourse takeACourse);


    /**
     * 根据选课临时班级表id查询选课信息
     * @param takeACourse 选课临时班级表id
     * @return 选课信息
     */
    TakeACourse queryBytemporaryclasstableid(TakeACourse takeACourse);


    /**
     * 根据选课临时班级表id查询选课信息
     * @param takeACourse 选课临时班级表id
     * @return 返回多个选课信息
     */

    List<TakeACourse> queryBytemporaryclasstableId(TakeACourse takeACourse);




    /**
     * 根据学生表id查询选课信息
     * @param takeACourse 学生表id
     * @return 返回多个选课信息
     */
    List<TakeACourse> queryBystudidC(TakeACourse takeACourse);


    /**
     * 根据学生表id和选课临时班级表id查询选课信息
     * @param takeACourse
     * @return 一个选课信息
     */
    TakeACourse queryBytemporaryclasstableidAndstudid(TakeACourse takeACourse);


}
